package classificator.database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Administrator
 */
public class DbAccess {
    private static final String DBMS = "jdbc:mysql";
    //indirizzo identificativo del server 
    private static final String SERVER = "localhost"; 
    //contiene il nome della base di dati
    private static final String DATABASE = "ClassificationData"; 
    //La porta su cui il database accetta le connessioni
    private static final String PORT = "3306";
    //nome dell’utente per l’accesso alla base di dati
    private static final String USER_ID = "decisionTreeID";
    //password di autenticazione per l’utente identificato da USER_ID
    private static final String PASSWORD = "decTreePassword";
    //gestisce la connessione correntemente aperta verso la base di dati dell’applicazione
    private static Connection conn;
    
    /**provvede a caricare il driver per stabilire la connessione con la base di dati 
     * e inizializza tale connessione.
     */
    public static void initConnection() throws SQLException{
        // carica JDBC driver
        String DRIVER_CLASS_NAME = "org.gjt.mm.mysql.Driver";
        try {
            Class.forName(DRIVER_CLASS_NAME);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(DbAccess.class.getName()).log(Level.SEVERE, null, ex);
        }
        String url = DBMS + "://" + SERVER + ":" + PORT + "/" + DATABASE; // a JDBC url
        conn = DriverManager.getConnection(url, USER_ID, PASSWORD);
    }

    /**Restituisce la connessione corrente
     * 
     * @return connessione
     */
    public static Connection getConnection(){
        return conn;
    }

    /**chiude la connessione
     */
    public static void closeConnection() throws SQLException{
        conn.close();
    }
}